Статья добавлена: 2015-10-12 10:47:14
Автор: Сергей

FreeBSD установка squid и настройка

Squid - программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP.
Устанавливать данный пакет будем из портов:
  • cd /usr/ports/www/squid/
    make install clean
    rehash

После установке идем править конфигурационный файл:
  • mcedit /usr/local/etc/squid/squid.conf

в данном файле указаные строки нужно раскоментирывать (если хотим с авторизацией пользователей), а не дописывать их с низу,данная строка после установки будет выглядеть
  • auth_param basic program /usr/local/libexec/ncsa_auth /usr/local/etc/passwd

ее нужно будет привести к виду:
  • auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/squid/ncsa.sams

а остальные просто раскоментирывать
  • /usr/local/etc/passwв
    auth_param basic children 5
    auth_param basic realm Squid proxy-caching web server
    auth_param basic credentialsttl 2 hours
    auth_param basic casesensitive off
    http_port 3128
Логи чуда-пакета можно будет посмотреть в
  • ls /var/squid/logs/
    access.log* cache.log squid.pid* store.log*
Создаем пользователя для работы squid:
  • htpasswd -c /usr/local/etc/squid/passwd vash_user
    password:*******
Создадим (SWAP) для прокси сервера Squid (если не создается внимательно посмотрите на что идет ругань и удовлетворите ругающего создав папочку командой mkdir)
  • squid -z
В идеале после удачного создания вы увидете что то подобное
  • 2012/11/04 20:57:19| Creating Swap Directories
Для автоматического старта squid после перезагрузки системы в /etc/rc.conf нужно добавить:
  • squid_enable="YES"
После чего стартуем squid
  • /usr/local/etc/rc.d/squid start
    Starting squid.
Некотырые полезные параметры:
Параметр
Описание
-a
порт для входящих HTTP-запросов
-d
отладка (на stderr)
-f
имя файла конфигурации
-h
help
-k reconfigure
посылка сигнала HUP
-k shutdown
завершение работы прокси
-k kill
завершение без закрытия журналов
-u
порт для входящих ICP запросов
-v
version
-D
не делать DNS-тест при запускей
-N
не становиться демоном (фоновым процессом)
-Y
более быстрое восстановление после сбоев

Возможно кто то из русcкоязычных пользователей захочет чтоб блокировка сайтов выводилась на русском тогда нужно будет расскоментирывать в файле squid.conf строку error_directory /usr/local/etc/squid/errors/Rusian-koi8-r сделав следущее:
  • mcedit /usr/local/etc/squid.conf
    найти строку
    #error_directory /usr/local/etc/squid/errors/English
    и заменить предварительно раскоментирывав на строку
    error_directory /usr/local/etc/squid/errors/Rusian-koi8-r
Также почитать рускоязычный перевод squid.conf можно на:
http://www.opennet.ru/base/net/squid_conf.txt.html

Отключение лог-файлов в Squid

Выключение access.log:
  • cache_access_log /dev/null
Выключение store.log:
  • cache_store_log none
Выключать cache.log - плохая идея, т.к. этот файл содержит много важной отладочной информации и сообщений о статуте. Однако, если действительно этого хотите: Выключение cache.log:
  • cache_log /dev/null
Если ваш log файл становиться сильно большним Вам необходимо делать rotate для ваших лог-файлов при помощи cron или в ручную. Следует делать ротацию логов не менее раза в сутки. Текущий лог-файл закрывается и переименовывается с расширением в виде числа (.0, .1 и т.п.). В ручную запускаем:
  • squid -k rotate
или через cron:
  • 0 0 * * * /usr/local/sbin/squid -k rotate
В данном примере будет происходить ротация логов каждый день в полночь
Сколько памяти использует squid
  • ps -axuhm |grep squid

Ротация логов

  • logfile_rotate
Этот тэг определяет количество ротаций лог-файла(access.log). По умолчанию - 10. Если установить значение тэга logfile_rotate 3 то количество таких файлов будет 3. Если установить в 0 то ротация будет отключена

FreeBSD через PROXY

Для того чтоб выпустить FreeBSD через proxy нужно в /etc/make.conf
  • FETCH_ENV=FTP_PROXY=http://proxy.wiset.pp.ua:3128 FETCH_ENV=HTTP_PROXY=http://proxy.wiset.pp.ua:3128
Иногда взависимости от оболочки выше команда может не помочь, тогда нужно использовать следующую команду
  • setenv HTTP_PROXY http://proxy.wiset.pp.ua:3128 setenv FTP_PROXY http://proxy.wiset.pp.ua:3128
После ввода данных команд просмотреть пременились они или нет командой setenv
Еще один вариант:
  • export http_proxy=http://proxy.wiset.pp.ua:3128